[INFO] fetching crate fantasy-cpu-emulator 0.1.1...
[INFO] building fantasy-cpu-emulator-0.1.1 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate fantasy-cpu-emulator 0.1.1 into /workspace/builds/worker-4/source
[INFO] validating manifest of crates.io crate fantasy-cpu-emulator 0.1.1 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fantasy-cpu-emulator 0.1.1
[INFO] finished tweaking crates.io crate fantasy-cpu-emulator 0.1.1
[INFO] tweaked toml for crates.io crate fantasy-cpu-emulator 0.1.1 written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate crates.io crate fantasy-cpu-emulator 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2614c3e5c9e31f373b849f54a052cdc825cf755f0a82a972b0e6aa08b6ec9e85
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2614c3e5c9e31f373b849f54a052cdc825cf755f0a82a972b0e6aa08b6ec9e85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2614c3e5c9e31f373b849f54a052cdc825cf755f0a82a972b0e6aa08b6ec9e85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2614c3e5c9e31f373b849f54a052cdc825cf755f0a82a972b0e6aa08b6ec9e85", kill_on_drop: false }`
[INFO] [stdout] 2614c3e5c9e31f373b849f54a052cdc825cf755f0a82a972b0e6aa08b6ec9e85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1514516fb65da9674dd120b78559fadbe5c8dd875621f48ff4d18921100a5252
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "1514516fb65da9674dd120b78559fadbe5c8dd875621f48ff4d18921100a5252", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stderr]    Compiling proc-macro2 v1.0.19
[INFO] [stderr]    Compiling syn v1.0.39
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling fantasy-cpu-emulator-macros v0.1.0
[INFO] [stderr]    Compiling fantasy-cpu-emulator v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate quote;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `potato::potato_chip`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use potato::potato_chip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     (from & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/unpipelined_potato.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let test_bit = (1 << 35);
[INFO] [stdout]    |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     (from & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/jackfruit.rs:143:20
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let test_bit = (1 << 35);
[INFO] [stdout]     |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:817:7
[INFO] [stdout]     |
[INFO] [stdout] 817 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:954:4
[INFO] [stdout]     |
[INFO] [stdout] 954 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:959:4
[INFO] [stdout]     |
[INFO] [stdout] 959 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:964:4
[INFO] [stdout]     |
[INFO] [stdout] 964 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use jackfruit::jackfruit_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/potato.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fetched`
[INFO] [stdout]   --> src/potato.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoded`
[INFO] [stdout]   --> src/potato.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assign_architectural_registers`
[INFO] [stdout]   --> src/potato.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by`
[INFO] [stdout]   --> src/potato.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]   --> src/jackfruit.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]    --> src/jackfruit.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:225:86
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:225:89
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:492:10
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:546:13
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:623:86
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:623:89
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `StateBundle`
[INFO] [stdout]   --> src/potato.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct StateBundle {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `MemoryWrite`
[INFO] [stdout]   --> src/potato.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub struct MemoryWrite {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fetch`
[INFO] [stdout]   --> src/potato.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn fetch(mem: &Memories::t, input: U10) -> U36 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `write_out_state`
[INFO] [stdout]   --> src/potato.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tick`
[INFO] [stdout]   --> src/potato.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `MachineState`
[INFO] [stdout]   --> src/unpipelined_potato.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |   type MachineState = (Instruction, Memories::t);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Fetching`
[INFO] [stdout]   --> src/unpipelined_potato.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Fetching{ progress: u32, mem: Memories::t,},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Computing`
[INFO] [stdout]   --> src/unpipelined_potato.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Computing{ progress: u32, instruction: Instruction, mem: Memories::t,},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fetch`
[INFO] [stdout]   --> src/unpipelined_potato.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn fetch(mem: &Memories::t, input: U10) -> U36 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_mem`
[INFO] [stdout]   --> src/unpipelined_potato.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn get_mem(work: Work) -> Memories::t {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `begin_tick`
[INFO] [stdout]   --> src/unpipelined_potato.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |   pub fn begin_tick(forward_by: u32, mem: Memories::t) -> Work {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tick`
[INFO] [stdout]   --> src/unpipelined_potato.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn tick(forward_by: u32, working: Work) -> Work {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u36_to_u64`
[INFO] [stdout]   --> src/unpipelined_potato.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub fn u36_to_u64(from: U36) -> u64 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u64_to_u36`
[INFO] [stdout]   --> src/unpipelined_potato.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 |   pub fn u64_to_u36(from: u64) -> U36 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u36_to_i64`
[INFO] [stdout]   --> src/unpipelined_potato.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 |   pub fn u36_to_i64(from: U36) -> i64 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `i64_to_u36`
[INFO] [stdout]   --> src/unpipelined_potato.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 |   pub fn i64_to_u36(from: i64) -> U36 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clampU`
[INFO] [stdout]   --> src/unpipelined_potato.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clampS`
[INFO] [stdout]   --> src/unpipelined_potato.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / define_chip! {
[INFO] [stdout] 2  | |   # potato_chip
[INFO] [stdout] 3  | |
[INFO] [stdout] 4  | |   ## Misc
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |   Nop,    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, MemoryToArchitecturalRegisters <- 3 super::super::Inst...
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/unpipelined_potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/unpipelined_potato.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # unpipelined_potato_chip
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |   ## Misc
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |   AddIU36Sat,   1 0 0 1 0 1 a:[u; 10] b:[u; 10] c:[u; 10], BackEnd <- 5 (super::super::Instruction::AddIU36Sat(super::super::Instructions...
[INFO] [stdout] 130 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/jackfruit.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/jackfruit.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # jackfruit_chip
[INFO] [stdout] 3   | |   // Smaller, jammier
[INFO] [stdout] 4   | |
[INFO] [stdout] ...   |
[INFO] [stdout] 860 | |
[INFO] [stdout] 861 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]    |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 |   - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Compute` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |   - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle
[INFO] [stdout]    |                ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `WriteOutState` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |   - write_out_state in WriteOutState = super::super::write_out_state
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:170:10
[INFO] [stdout]     |
[INFO] [stdout] 170 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:197:14
[INFO] [stdout]     |
[INFO] [stdout] 197 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `CheckStall` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |   - check_stall in CheckStall: super::super::MachineState -> super::super::Work
[INFO] [stdout]     |                    ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 77 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matches`
[INFO] [stdout]  --> src/bin/fantasy_assembler.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use getopts::{Options,Matches};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fantasy_cpu_emulator::jackfruit`
[INFO] [stdout]  --> src/bin/fantasy_emulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fantasy_cpu_emulator::jackfruit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 20.16s
[INFO] running `Command { std: "docker" "inspect" "1514516fb65da9674dd120b78559fadbe5c8dd875621f48ff4d18921100a5252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1514516fb65da9674dd120b78559fadbe5c8dd875621f48ff4d18921100a5252", kill_on_drop: false }`
[INFO] [stdout] 1514516fb65da9674dd120b78559fadbe5c8dd875621f48ff4d18921100a5252
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1994bea664a1a91781bc055c4d2ad0269f0170228278993067c775db5c5dffc8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "1994bea664a1a91781bc055c4d2ad0269f0170228278993067c775db5c5dffc8", kill_on_drop: false }`
[INFO] [stderr] warning: only one of `license` or `license-file` is necessary
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate quote;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `potato::potato_chip`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use potato::potato_chip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     (from & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/unpipelined_potato.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let test_bit = (1 << 35);
[INFO] [stdout]    |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     (from & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/jackfruit.rs:143:20
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let test_bit = (1 << 35);
[INFO] [stdout]     |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:817:7
[INFO] [stdout]     |
[INFO] [stdout] 817 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:954:4
[INFO] [stdout]     |
[INFO] [stdout] 954 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:959:4
[INFO] [stdout]     |
[INFO] [stdout] 959 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:964:4
[INFO] [stdout]     |
[INFO] [stdout] 964 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use jackfruit::jackfruit_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/potato.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fetched`
[INFO] [stdout]   --> src/potato.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoded`
[INFO] [stdout]   --> src/potato.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assign_architectural_registers`
[INFO] [stdout]   --> src/potato.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by`
[INFO] [stdout]   --> src/potato.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]   --> src/jackfruit.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]    --> src/jackfruit.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:225:86
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:225:89
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:492:10
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:546:13
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:623:86
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:623:89
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `StateBundle`
[INFO] [stdout]   --> src/potato.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct StateBundle {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `MemoryWrite`
[INFO] [stdout]   --> src/potato.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub struct MemoryWrite {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fetch`
[INFO] [stdout]   --> src/potato.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn fetch(mem: &Memories::t, input: U10) -> U36 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `write_out_state`
[INFO] [stdout]   --> src/potato.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tick`
[INFO] [stdout]   --> src/potato.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `MachineState`
[INFO] [stdout]   --> src/unpipelined_potato.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |   type MachineState = (Instruction, Memories::t);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Fetching`
[INFO] [stdout]   --> src/unpipelined_potato.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Fetching{ progress: u32, mem: Memories::t,},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Computing`
[INFO] [stdout]   --> src/unpipelined_potato.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Computing{ progress: u32, instruction: Instruction, mem: Memories::t,},
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fetch`
[INFO] [stdout]   --> src/unpipelined_potato.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn fetch(mem: &Memories::t, input: U10) -> U36 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_mem`
[INFO] [stdout]   --> src/unpipelined_potato.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn get_mem(work: Work) -> Memories::t {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `begin_tick`
[INFO] [stdout]   --> src/unpipelined_potato.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |   pub fn begin_tick(forward_by: u32, mem: Memories::t) -> Work {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tick`
[INFO] [stdout]   --> src/unpipelined_potato.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |   pub fn tick(forward_by: u32, working: Work) -> Work {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u36_to_u64`
[INFO] [stdout]   --> src/unpipelined_potato.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |   pub fn u36_to_u64(from: U36) -> u64 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u64_to_u36`
[INFO] [stdout]   --> src/unpipelined_potato.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 |   pub fn u64_to_u36(from: u64) -> U36 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `u36_to_i64`
[INFO] [stdout]   --> src/unpipelined_potato.rs:75:10
[INFO] [stdout]    |
[INFO] [stdout] 75 |   pub fn u36_to_i64(from: U36) -> i64 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `i64_to_u36`
[INFO] [stdout]   --> src/unpipelined_potato.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 |   pub fn i64_to_u36(from: i64) -> U36 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clampU`
[INFO] [stdout]   --> src/unpipelined_potato.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `clampS`
[INFO] [stdout]   --> src/unpipelined_potato.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / define_chip! {
[INFO] [stdout] 2  | |   # potato_chip
[INFO] [stdout] 3  | |
[INFO] [stdout] 4  | |   ## Misc
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |   Nop,    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, MemoryToArchitecturalRegisters <- 3 super::super::Inst...
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/unpipelined_potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/unpipelined_potato.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # unpipelined_potato_chip
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |   ## Misc
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |   AddIU36Sat,   1 0 0 1 0 1 a:[u; 10] b:[u; 10] c:[u; 10], BackEnd <- 5 (super::super::Instruction::AddIU36Sat(super::super::Instructions...
[INFO] [stdout] 130 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/jackfruit.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/jackfruit.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # jackfruit_chip
[INFO] [stdout] 3   | |   // Smaller, jammier
[INFO] [stdout] 4   | |
[INFO] [stdout] ...   |
[INFO] [stdout] 860 | |
[INFO] [stdout] 861 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]    |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 |   - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Compute` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |   - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle
[INFO] [stdout]    |                ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `WriteOutState` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |   - write_out_state in WriteOutState = super::super::write_out_state
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:170:10
[INFO] [stdout]     |
[INFO] [stdout] 170 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:197:14
[INFO] [stdout]     |
[INFO] [stdout] 197 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `CheckStall` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |   - check_stall in CheckStall: super::super::MachineState -> super::super::Work
[INFO] [stdout]     |                    ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 77 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fantasy-cpu-emulator v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `fantasy_cpu_emulator::jackfruit`
[INFO] [stdout]  --> src/bin/fantasy_emulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fantasy_cpu_emulator::jackfruit;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Matches`
[INFO] [stdout]  --> src/bin/fantasy_assembler.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use getopts::{Options,Matches};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use] extern crate quote;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `potato::potato_chip`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use potato::potato_chip;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/unpipelined_potato.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 37 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     (from & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/unpipelined_potato.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let test_bit = (1 << 35);
[INFO] [stdout]    |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/unpipelined_potato.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     if (forward_by > 0) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/jackfruit.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |           if (progress != 0) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     (from & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/jackfruit.rs:143:20
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let test_bit = (1 << 35);
[INFO] [stdout]     |                    ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/jackfruit.rs:817:7
[INFO] [stdout]     |
[INFO] [stdout] 817 |       (1 << 35)
[INFO] [stdout]     |       ^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:954:4
[INFO] [stdout]     |
[INFO] [stdout] 954 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:959:4
[INFO] [stdout]     |
[INFO] [stdout] 959 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/jackfruit.rs:964:4
[INFO] [stdout]     |
[INFO] [stdout] 964 |   };
[INFO] [stdout]     |    ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use jackfruit::jackfruit_chip;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/potato.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fetched`
[INFO] [stdout]   --> src/potato.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decoded`
[INFO] [stdout]   --> src/potato.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assign_architectural_registers`
[INFO] [stdout]   --> src/potato.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by`
[INFO] [stdout]   --> src/potato.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]   --> src/jackfruit.rs:97:50
[INFO] [stdout]    |
[INFO] [stdout] 97 |             Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `forward_by_2`
[INFO] [stdout]    --> src/jackfruit.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:225:86
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:225:89
[INFO] [stdout]     |
[INFO] [stdout] 225 |   } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:357:10
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/jackfruit.rs:492:10
[INFO] [stdout]     |
[INFO] [stdout] 492 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/jackfruit.rs:546:13
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b)));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/jackfruit.rs:623:86
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                      ^ help: try ignoring the field: `a: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/jackfruit.rs:623:89
[INFO] [stdout]     |
[INFO] [stdout] 623 |   } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m...
[INFO] [stdout]     |                                                                                         ^ help: try ignoring the field: `b: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut fetched = fetch(&mem, mem.registers.ip);
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut decoded = match pipeline_outputs.0 {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/potato.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut assign_architectural_registers = match pipeline_outputs.1 {
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `StateBundle`
[INFO] [stdout]   --> src/potato.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct StateBundle {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `MemoryWrite`
[INFO] [stdout]   --> src/potato.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub struct MemoryWrite {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `fetch`
[INFO] [stdout]   --> src/potato.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |   pub fn fetch(mem: &Memories::t, input: U10) -> U36 {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `write_out_state`
[INFO] [stdout]   --> src/potato.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn write_out_state(input: StateBundle) -> () {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `tick`
[INFO] [stdout]   --> src/potato.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option<U36>, Option<Instruction>, Option<Pipeline::MemoryToArchitectu...
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/potato.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / define_chip! {
[INFO] [stdout] 2  | |   # potato_chip
[INFO] [stdout] 3  | |
[INFO] [stdout] 4  | |   ## Misc
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |   Nop,    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, MemoryToArchitecturalRegisters <- 3 super::super::Inst...
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/unpipelined_potato.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 19 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/unpipelined_potato.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # unpipelined_potato_chip
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |   ## Misc
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |   AddIU36Sat,   1 0 0 1 0 1 a:[u; 10] b:[u; 10] c:[u; 10], BackEnd <- 5 (super::super::Instruction::AddIU36Sat(super::super::Instructions...
[INFO] [stdout] 130 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/jackfruit.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!(format!("fetch from outside of bounds: {}", input));
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is no longer accepted in Rust 2021
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 21 |       panic!("fetch from outside of bounds: {}", input);
[INFO] [stdout]    |             --                                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/jackfruit.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / define_chip! {
[INFO] [stdout] 2   | |   # jackfruit_chip
[INFO] [stdout] 3   | |   // Smaller, jammier
[INFO] [stdout] 4   | |
[INFO] [stdout] ...   |
[INFO] [stdout] 860 | |
[INFO] [stdout] 861 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]    |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]    |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 |   - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Compute` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:54:16
[INFO] [stdout]    |
[INFO] [stdout] 54 |   - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle
[INFO] [stdout]    |                ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `WriteOutState` should have a snake case name
[INFO] [stdout]   --> src/potato.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |   - write_out_state in WriteOutState = super::super::write_out_state
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]   --> src/unpipelined_potato.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:120:14
[INFO] [stdout]     |
[INFO] [stdout] 120 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/unpipelined_potato.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampU` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 |   pub fn clampU(from: u64, max: u64) -> u64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampS` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:170:10
[INFO] [stdout]     |
[INFO] [stdout] 170 |   pub fn clampS(from: i64, max: i64, min: i64) -> i64 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `clamp_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Fetch` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:197:14
[INFO] [stdout]     |
[INFO] [stdout] 197 |   - fetch in Fetch = super::super::fetch
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Decode` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |   - decode in Decode = super::super::Instructions::decode
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to snake case: `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `CheckStall` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |   - check_stall in CheckStall: super::super::MachineState -> super::super::Work
[INFO] [stdout]     |                    ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BackEnd` should have a snake case name
[INFO] [stdout]    --> src/jackfruit.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |   - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t
[INFO] [stdout]     |                 ^^^^^^^ help: convert the identifier to snake case: `back_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 4.09s
[INFO] running `Command { std: "docker" "inspect" "1994bea664a1a91781bc055c4d2ad0269f0170228278993067c775db5c5dffc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1994bea664a1a91781bc055c4d2ad0269f0170228278993067c775db5c5dffc8", kill_on_drop: false }`
[INFO] [stdout] 1994bea664a1a91781bc055c4d2ad0269f0170228278993067c775db5c5dffc8
